package edzest;

// import edzest.basic.J12_DefaultClass;
// The type edzest.basic.J12_DefaultClass is 
// not visible

public class J12_AccessModifier {

	public static void main(String[] args) {
		// default로 선언된 클래스에 대한 객체 선언
		// J12_AccessModifier는 edzest 패키지에
		// J12_DefaultClass는 edzest.basic 패키지에
		// 존재하므로 접근 불가능
		// 따라서 아래 코드 작성시 오류 발생
		
		// J12_DefaultClass defaultClass = new J12_DefaultClass();
		// J12_DefaultClass cannot be resolved to a type
		// defaultClass.name = "자바7";
		// defaultClass.sayHello();
		
		edzest.basic.J12_AccessModifier
			accessModifier = 
		new edzest.basic.J12_AccessModifier();
		// 멤버변수 접근
		// 다른 패키지라  public 외의 접근제한자는 안보임
		// accessModifier.defaultName = "자바7";
		// accessModifier.privateName = "자바7";
		// accessModifier.protectedName = "자바7";
		accessModifier.publicName = "자바7";
		
		// 메서드 접근
		// 다른 패키지라  public 외의 접근제한자는 안보임
		// accessModifier.defaultHello();
		// accessModifier.privateHello();
		// accessModifier.protectedHello();
		accessModifier.publicHello();
	}

}
